package greedy.总结.基础;

public class leetcode1605给定行和列的和求可行矩阵 {
    // 每次去掉一行或者一列，加入去掉一行，因为选择的是较小的，所以能确保该数字对应的列一定大于零。
    public int[][] restoreMatrix(int[] rowSum, int[] colSum) {
        int row = rowSum.length;
        int col = colSum.length;
        int[][] matrix = new int[row][col];
        for (int i = 0; i < row; i++) {
            for (int j = 0; j < col; j++) {
                matrix[i][j] = Integer.min(rowSum[i], colSum[j]);
                // 更新时一个等于0，一个大于零
                rowSum[i] -= matrix[i][j];
                colSum[j] -= matrix[i][j];
            }
        }
        return matrix;
    }
}
